import { ElMessage, ElMessageBox } from 'element-plus'
import _ from 'lodash'

const _ElMessageBox = _.debounce((type: 'error' | 'warning' | 'success', msg: string) => {
  ElMessageBox({
    type,
    title: '提示',
    message: msg,
    autofocus: false,
  })
}, 10)

const _ElMessage = _.debounce((type: 'error' | 'success' | 'warning', msg: string) => {
  ElMessage({
    message: msg,
    type,
    plain: true,
    duration: 5000,
    showClose: true,
    grouping: true,
  })
}, 10)

const HMessageBox = {
  error: (msg: string) => _ElMessageBox('error', msg),
  success: (msg: string) => _ElMessageBox('success', msg),
  warning: (msg: string) => _ElMessageBox('warning', msg),
}

const HMessage = {
  error: (msg: string) => _ElMessage('error', msg),
  success: (msg: string) => _ElMessage('success', msg),
  warning: (msg: string) => _ElMessage('warning', msg),
}

export { HMessageBox, HMessage }
